package com.demo.java.OD551_600.OD589;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【求满足条件的最长子串的长度(B卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146571081
 */
public class OdMain {
    public static void main(String[] args) {
        // 处理输入
        Scanner in = new Scanner(System.in);
        String input_str = in.nextLine();  // 读取输入的字符串

        // 初始化滑动窗口的左右边界
        int left = 0;
        int right = 1;
        int result = -1;  // 默认没有符合条件的子串，返回 -1

        // 滑动窗口遍历整个字符串
        while (left < input_str.length() && right < input_str.length()) {
            right++;  // 扩展窗口右边界
            String subStr = input_str.substring(left, right);  // 当前子串

            // 检查子串是否符合条件
            if (check(subStr)) {
                result = Math.max(result, subStr.length());  // 更新最大符合条件的子串长度
            } else {
                left++;  // 不符合条件，缩小窗口，左边界向右移动
            }
        }

        // 输出最大长度
        System.out.println(result);
    }

    // 检查子串是否符合最多一个字母的条件
    public static boolean check(String str) {
        // 将子串中的数字替换掉，检查是否剩下一个字母
        String replace = str.replaceAll("[0-9]", "");
        // 如果替换后的字符串长度小于原始字符串，说明有字母
        return replace.length() != str.length() && replace.length() <= 1;
    }
}
